package config

var Conf Config

type MultiDB map[string]DBCfg

type Config struct {
	App   AppCfg `json:"app"`
	DB    MultiDB
	Redis RedisCfg
}

type AppCfg struct {
	AppName string `json:"appName"`
}

type DBCfg struct {
	Addr            string `json:"addr"`
	MaxOpenConns    int    `json:"maxopenconns"`
	MaxIdleConns    int    `json:"maxidleconns"`
	ConnMaxLifeTime int    `json:"connmaxlifetime"`
}

type RedisCfg struct {
	RedisStandalone RedisStandaloneCfg `json:"redisStandalone"`
}

type RedisStandaloneCfg struct {
	PoolSize     int    `json:"poolSize"`
	MinIdleConns int    `json:"midIdleConns"`
	DialTimeout  int    `json:"dialTimeout"`
	PoolTimeout  int    `json:"poolTimeout"`
	IdleTimeout  int    `json:"idleTimeout"`
	ReadTimeout  int    `json:"readTimeout"`
	WriteTimeout int    `json:"writeTimeout"`
	Address      string `json:"address"`
	DB           int    `json:"db"`
}
